OpenBuildings GenerativeComponents Help

DEllipse3d

A DEllipse3d is created by a plethora of methods. One can even use a fillet between DRay3d. Arcs or Circles are special cases of a DEllipse3d, where the arc radii are the same.

	new DEllipse3d(double cx, double cy, double ux, double
uy, double vx, double vy)
	new DEllipse3d(refCenter, ref DVector3d Vector0, ref
DVector3d Vector90)
	new DEllipse3d(refCenter, ref Vector0, ref Vector90,
DAngle startAngle, DAngle sweepAngle)
	new DEllipse3d(double cx, double cy, double cz, double
ux, double uy, double uz, double vx, double vy, double vz, DAngle
startAngle, DAngle sweepAngle)
	new DEllipse3d(double cx, double cy, double ux, double
uy, double vx, double vy, DAngle startAngle, DAngle sweepAngle)
	new DEllipse3d(double cx, double cy, double cz, double
ux, double uy, double uz, double vx, double vy, double vz)

Arc Length

	arc.Length

Center

	arc.Center

PointAtAngle

	PointAtAngle(double theta)
	PointAtAngle(double theta, out DVector3d Derivative1)
	PointAtAngle(double theta, out DVector3d Derivative1,
out DVector3d Derivative2)

PointAtFraction(fraction)

	PointAtFraction(double fraction)
	PointAtFraction(double fraction, out DVector3d Derivative1) 
	PointAtFraction(double fraction, out DVector3d Derivative1,
out DVector3d Derivative2)

PerpendicularTangentFractions

For this to work the double[] EllipseFraction must be initialised beforehand and it must be created explicitly as a double array: double[].

	ellip.PerpendicularTangentFractions(ref DVector3d
Normal, ref double[] EllipseFraction)
	eg.
	DEllipse3d ellipse = new DEllipse3d(0, 0, 0, 2, 0,
0, 0, 2, 0);
	ctor3d Normal = new DVector3d(0, 1, 0);
	double[] EllipseFraction = {};
	EllipseFraction[0] = 0.0;
	EllipseFraction[1] = 0.0;
	ellipse.PerpendicularTangentFractions(ref Normal,
ref EllipseFraction);